home *** CD-ROM | disk | FTP | other *** search
/ Amiga CD32 Gamer 4 / Amiga CD32 Gamer Vol. 04 (1994-09)(Paragon Publishing)(Track 01 of 12)[!][CDR00222].iso / pd / billy_the_burglar / escape.amos / escape.amosSourceCode
AMOS Source Code  |  1992-12-21  |  50KB  |  1,926 lines

  1. '********************************************************* 
  2. '*                                                       * 
  3. '*           THE GREAT ESCAPE OF BILLY BURGLAR           * 
  4. '*           ---------------------------------           * 
  5. '*                                                       * 
  6. '*  Copyright 1993 Richard Jobling and Grant McAllister  * 
  7. '*                                                       * 
  8. '*              Written using Amos Pro V1.00             * 
  9. '*                                                       * 
  10. '*                   Completed 29/06/93                  * 
  11. '*                                                       * 
  12. '* The font used on the compiled version is on the disk. * 
  13. '*                                                       * 
  14. '*        There is a cheat in the compiled version       * 
  15. '*                  have you found it yet?               * 
  16. '*                                                       * 
  17. '*********************************************************                                           
  18.  
  19. Set Buffer 9
  20. Amos Lock 
  21. Break Off 
  22. Close Workbench 
  23. Close Editor 
  24. Led Off 
  25.  
  26. Dim PLAT_DIS(7),PLAT_ON(7)
  27. Dim MV_PLAT_X(7),MV_PLAT_Y(7),MV_PLAT_ON(7)
  28. Dim MV_PLAT_DIR_X(7),MV_PLAT_DIR_Y(7)
  29.  
  30. Global PLAT_DIS(),PLAT_ON()
  31. Global MV_PLAT_X(),MV_PLAT_Y(),MV_PLAT_ON()
  32. Global MV_PLAT_DIR_X(),MV_PLAT_DIR_Y()
  33. Global CONTROL
  34. Global X_SPD,Y_SPD
  35. Global PLY_X,PLY_Y
  36. Global OLD_PLY_X,OLD_PLY_Y
  37. Global MOVE_FRAME,JOG_FRAME,PLY_FRAME
  38. Global FULL_X_SPD,FULL_Y_SPD
  39. Global FALL,X_MOVE
  40. Global JUMP_FLAG,LANDED_FLAG
  41. Global EDGE_FLAG,WOBBLE
  42. Global SPOT_X,SPOT_Y
  43. Global SPOT_SPD,SPOT_MOVE,SPOT_SLOW
  44. Global SKID_FLAG,SKID_X,SKID_Y,SKID_FRAME,SKID_ADD
  45. Global DEAD,TIME,DIFFICULTY,QUIT_FLAG
  46.  
  47. Global SCRL_TXT$,SCRL_POS,SCRL_SPD,SCRL_X,SKIP_FLAG
  48.  
  49. Default Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  50.  
  51. CHECK_FOR_NTSC
  52. PD_MESSAGE
  53. If SKIP_FLAG=0
  54.    TG_LOGO_SCENE
  55.    VERTICAL_SCROLL
  56.    PRISONER_SCENE
  57. End If 
  58.  
  59. BEGINNING:
  60.  
  61. SET_UP_SCROLLER
  62. SET_UP_SCREEN_PIC
  63. Repeat 
  64.    MOVE_SCROLLER
  65. Until Fire(1)
  66. SHUT_DOWN_SCROLL
  67.  
  68. Track Load "Escape:Sound_Data/Ingame",3
  69. Load "Escape:Sound_Data/SoundFX.Abk",5
  70. Load "Escape:Graphic_Data/Sprites.Abk",1
  71.  
  72. LEVEL=0
  73. DIFFICULTY=1
  74. SET_SPOT_SPD[DIFFICULTY]
  75.  
  76. MOVE_ON_A_LEVEL:
  77.  
  78. Inc LEVEL
  79. If LEVEL>8
  80.    LEVEL=1
  81.    Inc DIFFICULTY
  82.    SET_SPOT_SPD[DIFFICULTY]
  83. End If 
  84.  
  85. SET_UP_SCREEN
  86. INIT
  87. SET_UP_LEVEL[LEVEL]
  88. LEVEL_START
  89.  
  90. Amal On 
  91. Track Play 
  92.  
  93. Repeat 
  94.    TEST_JOYSTICK
  95.    MOVE_PLATFORMS
  96.    TEST_FOR_PLATFORM
  97.    FIND_PLY_FRAME
  98.    FIND_NEW_CO_ORDS
  99.    SKID_PUFFS
  100.    CHECK_FOR_SPOT_COL
  101.    FIND_TIME
  102.    MOVE_ALL
  103.    CHECK_KEYBOARD
  104. Until DEAD=1 or TIME=0 or QUIT_FLAG=1
  105.  
  106. If QUIT_FLAG=1
  107.    QUIT_SCENE
  108.    Goto BEGINNING
  109. End If 
  110.  
  111. If DEAD=1 and TIME>0
  112.    Track Stop 
  113.    
  114.    Repeat 
  115.       MOVE_PLATFORMS
  116.       TEST_FOR_PLATFORM
  117.       FIND_PLY_FRAME
  118.       FIND_NEW_CO_ORDS
  119.       SPOT_Y=PLY_Y
  120.       SPOT_X=PLY_X
  121.       SKID_PUFFS
  122.       MOVE_ALL
  123.       CHECK_KEYBOARD
  124.    Until Y_SPD=0 and JUMP_FLAG=0
  125.    
  126.    DEATH_SCENE
  127.    Goto BEGINNING
  128. Else 
  129.    If DIFFICULTY>2 and LEVEL=8
  130.       FINISHING_SCENE
  131.       Goto BEGINNING
  132.    Else 
  133.       SURVIVED_SCENE
  134.       Goto MOVE_ON_A_LEVEL
  135.    End If 
  136. End If 
  137.  
  138.  
  139. Procedure SET_UP_SCREEN
  140.    
  141.    Screen Open 0,320,256,32,Lowres
  142.    Screen Display 0,128,40,320,256
  143.    Curs Off : Flash Off : Hide : Cls 0
  144.    Double Buffer 
  145.    Autoback 0
  146.    Update Off 
  147.    Synchro Off 
  148.    
  149.    Set Bob 0,0,%10000,0
  150.    Set Bob 1,0,%1111,0
  151.    Set Bob 2,0,%1111,0
  152.    For C=3 To 10
  153.       Set Bob C,1,%1111,0
  154.    Next 
  155.    For C=11 To 18
  156.       Set Bob C,0,%1111,0
  157.    Next 
  158.    
  159.    Priority Reverse On 
  160.    
  161. End Proc
  162. Procedure SET_SPOT_SPD[SPEED]
  163.    
  164.    If SPEED=1
  165.       SPOT_SPD=1
  166.       SPOT_SLOW=0
  167.    End If 
  168.    
  169.    If SPEED=2
  170.       SPOT_SPD=3
  171.       SPOT_SLOW=1
  172.    End If 
  173.    
  174.    If SPEED=3
  175.       SPOT_SPD=2
  176.       SPOT_SLOW=0
  177.    End If 
  178.    
  179. End Proc
  180. Procedure INIT
  181.    
  182.    For C=0 To 7
  183.       PLAT_DIS(C)=0
  184.       PLAT_ON(C)=0
  185.       MV_PLAT_X(C)=0
  186.       MV_PLAT_Y(C)=0
  187.       MV_PLAT_ON(C)=0
  188.       MV_PLAT_DIR_X(C)=0
  189.       MV_PLAT_DIR_Y(C)=0
  190.       Bob C+3,-100,-100,
  191.    Next 
  192.    
  193.    X_SPD=0
  194.    Y_SPD=0
  195.    PLY_X=0
  196.    PLY_Y=0
  197.    OLD_PLY_X=0
  198.    OLD_PLY_Y=0
  199.    MOVE_FRAME=2
  200.    JOG_FRAME=0
  201.    PLY_FRAME=0
  202.    FALL=0
  203.    X_MOVE=0
  204.    JUMP_FLAG=0
  205.    LANDED_FLAG=0
  206.    EDGE_FLAG=0
  207.    SPOT_X=160
  208.    SPOT_Y=256
  209.    SKID_FLAG=0
  210.    SKID_X=0
  211.    SKID_Y=0
  212.    SKID_FRAME=0
  213.    SKID_ADD=0
  214.    DEAD=0
  215.    
  216.    TIME=1000
  217.    SPOT_MOVE=0
  218.    FULL_X_SPD=4
  219.    FULL_Y_SPD=8
  220.    
  221.    QUIT_FLAG=0
  222.    
  223. End Proc
  224. Procedure SET_UP_LEVEL[LEV]
  225.    
  226.    If LEV=1 Then LEVEL_1
  227.    If LEV=2 Then LEVEL_2
  228.    If LEV=3 Then LEVEL_3
  229.    If LEV=4 Then LEVEL_4
  230.    If LEV=5 Then LEVEL_5
  231.    If LEV=6 Then LEVEL_6
  232.    If LEV=7 Then LEVEL_7
  233.    If LEV=8 Then LEVEL_8
  234.    
  235. End Proc
  236. Procedure LEVEL_1
  237.    
  238.    PLY_X=160
  239.    PLY_Y=96
  240.    OLD_PLY_X=160
  241.    OLD_PLY_Y=96
  242.    
  243.    Reserve Zone 40
  244.    Set Zone 1,0,240 To 319,247
  245.    Set Zone 2,0,144 To 95,151
  246.    Set Zone 3,224,144 To 319,151
  247.    Set Zone 4,112,96 To 207,103
  248.    
  249.    For Y=0 To 255 Step 16
  250.       For X=0 To 319 Step 16
  251.          Read IMAGE
  252.          Paste Bob X,Y,IMAGE+50
  253.       Next 
  254.    Next 
  255.    
  256.    Data 14,15,$0,$0,$0,$0,14,15,$0,$0,$0,$0,14,15,$0,12,$0,$0,14,15
  257.    Data 16,17,$0,$0,$0,$0,16,17,$0,$0,$0,$0,16,17,$0,$0,$0,$0,16,17
  258.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,13,$0,$0,$0,$0,$0,$0
  259.    Data $0,$0,$0,$0,13,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  260.    Data $0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  261.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$8,$9,$0
  262.    Data $0,18,19,$0,$0,$0,$0,$3,$1,$1,$1,$1,$2,$0,$0,$0,$0,10,11,$0
  263.    Data $0,$0,$0,13,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0
  264.    Data $0,$0,$0,$0,$0,$0,$0,$0,13,$0,$0,22,$0,$0,$0,$0,$0,$0,$0,$0
  265.    Data $1,$1,$1,$1,$1,$2,$0,$0,$0,$0,$0,$0,$0,$0,$3,$1,$1,$1,$1,$1
  266.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  267.    Data $0,$0,$4,$5,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,13,$0,$0,$0,$0,$0
  268.    Data $0,$0,$6,$7,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  269.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,20,21,$0,$0,$0,$0
  270.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  271.    Data $1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1
  272.    
  273.    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  274.    
  275.    PLAT_ON(0)=1
  276.    Set Zone 33,112,192 To 127,199
  277.    Bob 3,112,192,
  278.    
  279.    PLAT_ON(1)=1
  280.    Set Zone 34,192,192 To 207,199
  281.    Bob 4,192,192,
  282.    
  283.    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  284.    
  285.    For C=0 To 7
  286.       Channel C To Bob C+11
  287.    Next 
  288.    
  289.    MV_PLAT_ON(0)=1
  290.    MV_PLAT_X(0)=96
  291.    MV_PLAT_Y(0)=144
  292.    Bob 11,MV_PLAT_X(0),MV_PLAT_Y(0),49
  293.    M$=""
  294.    M$=M$+" Start:               "
  295.    M$=M$+"       Move 96,0,48   "
  296.    M$=M$+"       Move -96,0,48  "
  297.    M$=M$+" Jump Start           "
  298.    Amal 0,M$
  299.    
  300.    MV_PLAT_ON(1)=1
  301.    MV_PLAT_X(1)=80
  302.    MV_PLAT_Y(1)=96
  303.    Bob 12,MV_PLAT_X(1),MV_PLAT_Y(1),49
  304.    M$=""
  305.    M$=M$+" Start:                 "
  306.    M$=M$+"       Move -64,-64,64  "
  307.    M$=M$+"       Move 64,64,64    "
  308.    M$=M$+" Jump Start             "
  309.    Amal 1,M$
  310.    
  311.    MV_PLAT_ON(2)=1
  312.    MV_PLAT_X(2)=208
  313.    MV_PLAT_Y(2)=96
  314.    Bob 13,MV_PLAT_X(2),MV_PLAT_Y(2),49
  315.    M$=""
  316.    M$=M$+" Start:                 "
  317.    M$=M$+"       Move 64,-64,64   "
  318.    M$=M$+"       Move -64,64,64   "
  319.    M$=M$+" Jump Start             "
  320.    Amal 2,M$
  321.    
  322. End Proc
  323. Procedure LEVEL_2
  324.    
  325.    PLY_X=160
  326.    PLY_Y=112
  327.    OLD_PLY_X=160
  328.    OLD_PLY_Y=112
  329.    
  330.    Reserve Zone 40
  331.    Set Zone 1,0,240 To 319,247
  332.    Set Zone 2,0,176 To 63,183
  333.    Set Zone 3,256,176 To 319,183
  334.    Set Zone 4,0,112 To 63,119
  335.    Set Zone 5,96,112 To 223,119
  336.    Set Zone 6,256,112 To 319,119
  337.    Set Zone 7,0,48 To 63,55
  338.    Set Zone 8,256,48 To 319,55
  339.    
  340.    For Y=0 To 255 Step 16
  341.       For X=0 To 319 Step 16
  342.          Read IMAGE
  343.          Paste Bob X,Y,IMAGE+50
  344.       Next 
  345.    Next 
  346.    
  347.    Data $0,14,15,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,14,15,$0
  348.    Data $0,16,17,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,16,17,$0
  349.    Data $0,$0,$0,$0,$0,$0,22,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0
  350.    Data $1,$1,$1,$2,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$3,$1,$1,$1
  351.    Data $0,13,$0,$0,$0,$0,$0,$0,$0,$4,$5,$0,$8,$9,$0,$0,$0,$0,$0,$0
  352.    Data $0,$0,$0,$0,12,$0,$0,$0,$0,$6,$7,$0,10,11,$0,13,$0,$0,$0,$0
  353.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0
  354.    Data $1,$1,$1,$2,$0,$0,$3,$1,$1,$1,$1,$1,$1,$2,$0,$0,$3,$1,$1,$1
  355.    Data $0,14,15,$0,$0,$0,$0,$0,$0,14,15,$0,$0,$0,$0,$0,$0,14,15,$0
  356.    Data $0,16,17,$0,$0,$0,13,$0,$0,16,17,$0,$0,$0,$0,$0,$0,16,17,$0
  357.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  358.    Data $1,$1,$1,$2,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$3,$1,$1,$1
  359.    Data $0,$0,$0,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  360.    Data $0,13,$0,$0,$0,18,19,$0,$0,$0,$0,$0,$0,13,$0,$0,$0,10,11,$0
  361.    Data $0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  362.    Data $1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1
  363.    
  364.    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  365.    
  366.    For C=0 To 7
  367.       Channel C To Bob C+11
  368.    Next 
  369.    
  370.    MV_PLAT_ON(0)=1
  371.    MV_PLAT_X(0)=64
  372.    MV_PLAT_Y(0)=48
  373.    Bob 11,MV_PLAT_X(0),MV_PLAT_Y(0),49
  374.    M$=""
  375.    M$=M$+" Start:               "
  376.    M$=M$+"       Move 160,0,80  "
  377.    M$=M$+"       Move 0,128,64  "
  378.    M$=M$+"       Move -160,0,80 "
  379.    M$=M$+"       Move 0,-128,64 "
  380.    M$=M$+" Jump Start           "
  381.    Amal 0,M$
  382.    
  383.    MV_PLAT_ON(1)=1
  384.    MV_PLAT_X(1)=224
  385.    MV_PLAT_Y(1)=176
  386.    Bob 12,MV_PLAT_X(1),MV_PLAT_Y(1),49
  387.    M$=""
  388.    M$=M$+" Start:               "
  389.    M$=M$+"       Move -160,0,80 "
  390.    M$=M$+"       Move 0,-128,64 "
  391.    M$=M$+"       Move 160,0,80  "
  392.    M$=M$+"       Move 0,128,64  "
  393.    M$=M$+" Jump Start           "
  394.    Amal 1,M$
  395.    
  396. End Proc
  397. Procedure LEVEL_3
  398.    
  399.    PLY_X=16
  400.    PLY_Y=48
  401.    OLD_PLY_X=16
  402.    OLD_PLY_Y=48
  403.    
  404.    Reserve Zone 40
  405.    Set Zone 1,0,240 To 319,247
  406.    Set Zone 2,0,48 To 47,63
  407.    Set Zone 3,0,96 To 47,103
  408.    Set Zone 4,0,144 To 47,151
  409.    Set Zone 5,0,192 To 47,199
  410.    Set Zone 6,272,48 To 319,63
  411.    Set Zone 7,272,96 To 319,103
  412.    Set Zone 8,272,144 To 319,151
  413.    Set Zone 9,272,192 To 319,199
  414.    
  415.    For Y=0 To 255 Step 16
  416.       For X=0 To 319 Step 16
  417.          Read IMAGE
  418.          Paste Bob X,Y,IMAGE+50
  419.       Next 
  420.    Next 
  421.    
  422.    Data $0,13,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,12
  423.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,13,$0,$0,$0,$0,$0,13,$0,$0,$0,$0
  424.    Data $0,$0,12,$0,$0,$0,$0,$0,$0,$0,$8,$9,12,$0,$0,$0,$0,$0,$0,$0
  425.    Data $1,$1,$2,$0,$0,$0,$0,$0,$0,$0,10,11,$0,$0,$0,$0,$0,$3,$1,$1
  426.    Data $0,$0,$0,$0,$0,14,15,$0,$0,$0,$0,$0,$0,14,15,$0,$0,$0,$0,$0
  427.    Data $0,$0,$0,$0,$0,16,17,$0,$0,13,$0,$0,$0,16,17,$0,$0,$0,$0,$0
  428.    Data $1,$1,$2,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$3,$1,$1
  429.    Data $0,$0,$0,$0,$0,12,$0,$0,$0,$0,12,$0,$0,12,$0,$0,$0,12,$0,$0
  430.    Data $0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,13
  431.    Data $1,$1,$2,$0,$0,$0,$0,$0,18,19,$0,13,$0,$0,$0,$0,$0,$3,$1,$1
  432.    Data $0,$0,$0,$0,$0,14,15,$0,$0,$0,12,$0,$0,14,15,$0,$0,$0,$0,$0
  433.    Data $0,$0,$0,12,$0,16,17,$0,$0,$0,$0,$0,$0,16,17,$0,$0,22,$0,$0
  434.    Data $1,$1,$2,$0,$0,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,$0,$0,$3,$1,$1
  435.    Data $0,$0,$0,20,21,$0,$0,$0,$0,$0,$0,$0,13,$0,$0,$0,$0,13,$0,$0
  436.    Data $0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  437.    Data $1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1
  438.    
  439.    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  440.    
  441.    For C=0 To 7
  442.       Channel C To Bob C+11
  443.    Next 
  444.    
  445.    MV_PLAT_ON(0)=1
  446.    MV_PLAT_X(0)=48
  447.    MV_PLAT_Y(0)=48
  448.    Bob 11,MV_PLAT_X(0),MV_PLAT_Y(0),49
  449.    M$=""
  450.    M$=M$+" Start:               "
  451.    M$=M$+"       Move 192,0,96  "
  452.    M$=M$+"       Move -192,0,96 "
  453.    M$=M$+" Jump Start           "
  454.    Amal 0,M$
  455.    
  456.    MV_PLAT_ON(1)=1
  457.    MV_PLAT_X(1)=64
  458.    MV_PLAT_Y(1)=96
  459.    Bob 12,MV_PLAT_X(1),MV_PLAT_Y(1),49
  460.    M$=""
  461.    M$=M$+" Start:               "
  462.    M$=M$+"       Move 176,0,88  "
  463.    M$=M$+"       Move -192,0,96 "
  464.    M$=M$+"       Move 16,0,8    "
  465.    M$=M$+" Jump Start           "
  466.    Amal 1,M$
  467.    
  468.    MV_PLAT_ON(2)=1
  469.    MV_PLAT_X(2)=80
  470.    MV_PLAT_Y(2)=144
  471.    Bob 13,MV_PLAT_X(2),MV_PLAT_Y(2),49
  472.    M$=""
  473.    M$=M$+" Start:               "
  474.    M$=M$+"       Move 160,0,80  "
  475.    M$=M$+"       Move -192,0,96 "
  476.    M$=M$+"       Move 32,0,16   "
  477.    M$=M$+" Jump Start           "
  478.    Amal 2,M$
  479.    
  480.    MV_PLAT_ON(3)=1
  481.    MV_PLAT_X(3)=96
  482.    MV_PLAT_Y(3)=192
  483.    Bob 14,MV_PLAT_X(3),MV_PLAT_Y(3),49
  484.    M$=""
  485.    M$=M$+" Start:               "
  486.    M$=M$+"       Move 144,0,72  "
  487.    M$=M$+"       Move -192,0,96 "
  488.    M$=M$+"       Move 48,0,24   "
  489.    M$=M$+" Jump Start           "
  490.    Amal 3,M$
  491.    
  492. End Proc
  493. Procedure LEVEL_4
  494.    
  495.    PLY_X=16
  496.    PLY_Y=48
  497.    OLD_PLY_X=16
  498.    OLD_PLY_Y=48
  499.    
  500.    Reserve Zone 40
  501.    Set Zone 1,0,240 To 319,247
  502.    Set Zone 2,0,48 To 47,55
  503.    Set Zone 3,272,192 To 319,199
  504.    
  505.    For Y=0 To 255 Step 16
  506.       For X=0 To 319 Step 16
  507.          Read IMAGE
  508.          Paste Bob X,Y,IMAGE+50
  509.       Next 
  510.    Next 
  511.    
  512.    Data $0,14,15,$0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0
  513.    Data 13,16,17,$0,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,12
  514.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  515.    Data $1,$1,$2,$0,$0,13,$0,$0,$0,$0,$0,13,$0,$0,12,$0,$0,$0,$0,$0
  516.    Data $0,$0,13,$0,$0,$0,18,19,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  517.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$4,$5,$0,$0,$0,$0,$0
  518.    Data $0,13,$0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$6,$7,13,$0,$0,12,$0
  519.    Data $0,$0,$0,$0,$0,10,11,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  520.    Data $0,$0,$0,$0,$0,$0,$0,13,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,$0,13
  521.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,14,15,$0
  522.    Data $0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,16,17,$0
  523.    Data 13,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  524.    Data $0,$0,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$3,$1,$1
  525.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,22,$0,$0,$0,$0,$0,13,$0,$0,$0,$0
  526.    Data $0,$0,13,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,13,$0
  527.    Data $1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1
  528.    
  529.    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  530.    
  531.    For C=0 To 7
  532.       Read X,Y,X2,Y2
  533.       PLAT_ON(C)=1
  534.       Set Zone 33+C,X,Y To X2,Y2
  535.       Bob 3+C,X,Y,
  536.    Next 
  537.    
  538.    Data 48,96,63,103
  539.    Data 128,96,143,103
  540.    Data 48,192,63,199
  541.    Data 128,192,143,199
  542.    Data 176,48,191,55
  543.    Data 256,48,271,55
  544.    Data 176,144,191,151
  545.    Data 256,144,271,151
  546.    
  547. End Proc
  548. Procedure LEVEL_5
  549.    
  550.    PLY_X=88
  551.    PLY_Y=128
  552.    OLD_PLY_X=88
  553.    OLD_PLY_Y=128
  554.    
  555.    Reserve Zone 40
  556.    Set Zone 1,0,240 To 319,247
  557.    Set Zone 2,48,128 To 127,135
  558.    Set Zone 3,192,128 To 271,135
  559.    
  560.    For Y=0 To 255 Step 16
  561.       For X=0 To 319 Step 16
  562.          Read IMAGE
  563.          Paste Bob X,Y,IMAGE+50
  564.       Next 
  565.    Next 
  566.    
  567.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,$0,$0,$0,13
  568.    Data $0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$8,$9,12,$0,$0,$0,$0,$0,$0
  569.    Data $0,$0,$0,$0,$0,13,$0,$0,12,$0,$0,10,11,$0,$0,$0,$0,$0,12,$0
  570.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  571.    Data 13,$0,$0,$0,$0,$0,$0,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,$0,$0,$0
  572.    Data $0,$0,$0,$0,$4,$5,$0,$0,$0,$0,$0,$0,$0,$0,$4,$5,$0,$0,$0,$0
  573.    Data $0,$0,$0,$0,$6,$7,12,$0,$0,$0,$0,$0,$0,$0,$6,$7,$0,$0,$0,$0
  574.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  575.    Data $0,$0,$0,$3,$1,$1,$1,$2,$0,$0,$0,$0,$3,$1,$1,$1,$2,$0,$0,$0
  576.    Data $0,$0,$0,$0,14,15,$0,$0,$0,$0,$0,$0,$0,$0,14,15,$0,$0,$0,$0
  577.    Data $0,12,$0,$0,16,17,$0,$0,$0,13,$0,$0,$0,12,16,17,$0,$0,$0,$0
  578.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  579.    Data $0,$0,13,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,13,$0
  580.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,20,21,$0,$0,$0
  581.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,13,$0,$0,$0,$0
  582.    Data $1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1
  583.    
  584.    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  585.    
  586.    For C=0 To 7
  587.       Channel C To Bob C+11
  588.    Next 
  589.    
  590.    MV_PLAT_ON(0)=1
  591.    MV_PLAT_X(0)=72
  592.    MV_PLAT_Y(0)=48
  593.    Bob 11,MV_PLAT_X(0),MV_PLAT_Y(0),49
  594.    M$=""
  595.    M$=M$+" Start:               "
  596.    M$=M$+"       Move 24,0,24   "
  597.    M$=M$+"       Move 48,48,48  "
  598.    M$=M$+"       Move 0,48,48   "
  599.    M$=M$+"       Move -48,48,48 "
  600.    M$=M$+"       Move -48,0,48  "
  601.    M$=M$+"       Move -48,-48,48"
  602.    M$=M$+"       Move 0,-48,48  "
  603.    M$=M$+"       Move 48,-48,48 "
  604.    M$=M$+"       Move 24,0,24   "
  605.    M$=M$+" Jump Start           "
  606.    Amal 0,M$
  607.    
  608.    MV_PLAT_ON(1)=1
  609.    MV_PLAT_X(1)=72
  610.    MV_PLAT_Y(1)=192
  611.    Bob 12,MV_PLAT_X(1),MV_PLAT_Y(1),49
  612.    M$=""
  613.    M$=M$+" Start:               "
  614.    M$=M$+"       Move -24,0,24  "
  615.    M$=M$+"       Move -48,-48,48"
  616.    M$=M$+"       Move 0,-48,48  "
  617.    M$=M$+"       Move 48,-48,48 "
  618.    M$=M$+"       Move 48,0,48   "
  619.    M$=M$+"       Move 48,48,48  "
  620.    M$=M$+"       Move 0,48,48   "
  621.    M$=M$+"       Move -48,48,48 "
  622.    M$=M$+"       Move -24,0,24  "
  623.    M$=M$+" Jump Start           "
  624.    Amal 1,M$
  625.    
  626.    MV_PLAT_ON(2)=1
  627.    MV_PLAT_X(2)=288
  628.    MV_PLAT_Y(2)=120
  629.    Bob 13,MV_PLAT_X(2),MV_PLAT_Y(2),49
  630.    M$=""
  631.    M$=M$+" Start:               "
  632.    M$=M$+"       Move 0,24,24   "
  633.    M$=M$+"       Move -48,48,48 "
  634.    M$=M$+"       Move -48,0,48  "
  635.    M$=M$+"       Move -48,-48,48"
  636.    M$=M$+"       Move 0,-48,48  "
  637.    M$=M$+"       Move 48,-48,48 "
  638.    M$=M$+"       Move 48,0,48   "
  639.    M$=M$+"       Move 48,48,48  "
  640.    M$=M$+"       Move 0,24,24   "
  641.    M$=M$+" Jump Start           "
  642.    Amal 2,M$
  643.    
  644.    MV_PLAT_ON(3)=1
  645.    MV_PLAT_X(3)=144
  646.    MV_PLAT_Y(3)=120
  647.    Bob 14,MV_PLAT_X(3),MV_PLAT_Y(3),49
  648.    M$=""
  649.    M$=M$+" Start:               "
  650.    M$=M$+"       Move 0,-24,24  "
  651.    M$=M$+"       Move 48,-48,48 "
  652.    M$=M$+"       Move 48,0,48   "
  653.    M$=M$+"       Move 48,48,48  "
  654.    M$=M$+"       Move 0,48,48   "
  655.    M$=M$+"       Move -48,48,48 "
  656.    M$=M$+"       Move -48,0,48  "
  657.    M$=M$+"       Move -48,-48,48"
  658.    M$=M$+"       Move 0,-24,24  "
  659.    M$=M$+" Jump Start           "
  660.    Amal 3,M$
  661.    
  662. End Proc
  663. Procedure LEVEL_6
  664.    
  665.    PLY_X=160
  666.    PLY_Y=48
  667.    OLD_PLY_X=160
  668.    OLD_PLY_Y=48
  669.    
  670.    Reserve Zone 40
  671.    Set Zone 1,0,240 To 319,247
  672.    Set Zone 2,0,48 To 47,55
  673.    Set Zone 3,0,96 To 47,103
  674.    Set Zone 4,0,144 To 47,151
  675.    Set Zone 5,0,192 To 47,199
  676.    Set Zone 6,80,48 To 111,55
  677.    Set Zone 7,80,96 To 111,103
  678.    Set Zone 8,80,144 To 111,151
  679.    Set Zone 9,80,192 To 111,199
  680.    Set Zone 10,144,48 To 175,55
  681.    Set Zone 11,144,96 To 175,103
  682.    Set Zone 12,144,144 To 175,151
  683.    Set Zone 13,144,192 To 175,199
  684.    Set Zone 14,208,48 To 239,55
  685.    Set Zone 15,208,96 To 239,103
  686.    Set Zone 16,208,144 To 239,151
  687.    Set Zone 17,208,192 To 239,199
  688.    Set Zone 18,272,48 To 319,55
  689.    Set Zone 19,272,96 To 319,103
  690.    Set Zone 20,272,144 To 319,151
  691.    Set Zone 21,272,192 To 319,199
  692.    
  693.    For Y=0 To 255 Step 16
  694.       For X=0 To 319 Step 16
  695.          Read IMAGE
  696.          Paste Bob X,Y,IMAGE+50
  697.       Next 
  698.    Next 
  699.    
  700.    Data $0,$0,$0,$0,$0,14,15,$0,$0,14,15,$0,$0,14,15,$0,$0,$0,$0,$0
  701.    Data 13,$0,12,$0,$0,16,17,$0,$0,16,17,$0,13,16,17,$0,$0,13,$0,$0
  702.    Data $0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  703.    Data $1,$1,$2,$0,$0,$3,$2,$0,$0,$3,$2,$0,$0,$3,$2,$0,$0,$3,$1,$1
  704.    Data $0,$0,13,$0,$0,$4,$5,$0,13,$0,$0,12,$0,$0,$0,12,$0,$0,$0,$0
  705.    Data $0,$0,$0,12,$0,$6,$7,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  706.    Data $1,$1,$2,$0,$0,$3,$2,$0,$0,$3,$2,$0,$0,$3,$2,$0,$0,$3,$1,$1
  707.    Data $0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,13,$0
  708.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,10,11,$0,12,$0,$0,$0,$0,$0,$0,$0
  709.    Data $1,$1,$2,$0,$0,$3,$2,$0,$0,$3,$2,$0,$0,$3,$2,$0,$0,$3,$1,$1
  710.    Data $0,13,$0,$0,18,19,$0,$0,12,$0,$0,$0,$0,$0,13,$0,$0,$0,$0,$0
  711.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0
  712.    Data $1,$1,$2,$0,$0,$3,$2,$0,$0,$3,$2,$0,$0,$3,$2,$0,$0,$3,$1,$1
  713.    Data $0,$0,$0,12,$0,$0,13,$0,$0,$0,$0,$0,$0,12,22,$0,$0,$0,$0,$0
  714.    Data $0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  715.    Data $1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1
  716.    
  717.    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  718.    
  719.    For C=0 To 7
  720.       Channel C To Bob C+11
  721.    Next 
  722.    
  723.    MV_PLAT_ON(0)=1
  724.    MV_PLAT_X(0)=48
  725.    MV_PLAT_Y(0)=48
  726.    Bob 11,MV_PLAT_X(0),MV_PLAT_Y(0),49
  727.    M$=""
  728.    M$=M$+" Start:               "
  729.    M$=M$+"       Move 0,48,24   "
  730.    M$=M$+"       Move 0,0,16    "
  731.    M$=M$+"       Move 0,48,24   "
  732.    M$=M$+"       Move 0,0,16    "
  733.    M$=M$+"       Move 0,48,24   "
  734.    M$=M$+"       Move 0,0,16    "
  735.    M$=M$+"       Move 0,-48,24  "
  736.    M$=M$+"       Move 0,0,16    "
  737.    M$=M$+"       Move 0,-48,24  "
  738.    M$=M$+"       Move 0,0,16    "
  739.    M$=M$+"       Move 0,-48,24  "
  740.    M$=M$+"       Move 0,0,16    "
  741.    M$=M$+" Jump Start           "
  742.    Amal 0,M$
  743.    
  744.    MV_PLAT_ON(1)=1
  745.    MV_PLAT_X(1)=112
  746.    MV_PLAT_Y(1)=96
  747.    Bob 12,MV_PLAT_X(1),MV_PLAT_Y(1),49
  748.    M$=""
  749.    M$=M$+" Start:               "
  750.    M$=M$+"       Move 0,48,24   "
  751.    M$=M$+"       Move 0,0,16    "
  752.    M$=M$+"       Move 0,48,24   "
  753.    M$=M$+"       Move 0,0,16    "
  754.    M$=M$+"       Move 0,-48,24  "
  755.    M$=M$+"       Move 0,0,16    "
  756.    M$=M$+"       Move 0,-48,24  "
  757.    M$=M$+"       Move 0,0,16    "
  758.    M$=M$+"       Move 0,-48,24  "
  759.    M$=M$+"       Move 0,0,16    "
  760.    M$=M$+"       Move 0,48,24   "
  761.    M$=M$+"       Move 0,0,16    "
  762.    M$=M$+" Jump Start           "
  763.    Amal 1,M$
  764.    
  765.    MV_PLAT_ON(2)=1
  766.    MV_PLAT_X(2)=176
  767.    MV_PLAT_Y(2)=144
  768.    Bob 13,MV_PLAT_X(2),MV_PLAT_Y(2),49
  769.    M$=""
  770.    M$=M$+" Start:               "
  771.    M$=M$+"       Move 0,48,24   "
  772.    M$=M$+"       Move 0,0,16    "
  773.    M$=M$+"       Move 0,-48,24  "
  774.    M$=M$+"       Move 0,0,16    "
  775.    M$=M$+"       Move 0,-48,24  "
  776.    M$=M$+"       Move 0,0,16    "
  777.    M$=M$+"       Move 0,-48,24  "
  778.    M$=M$+"       Move 0,0,16    "
  779.    M$=M$+"       Move 0,48,24   "
  780.    M$=M$+"       Move 0,0,16    "
  781.    M$=M$+"       Move 0,48,24   "
  782.    M$=M$+"       Move 0,0,16    "
  783.    M$=M$+" Jump Start           "
  784.    Amal 2,M$
  785.    
  786.    MV_PLAT_ON(3)=1
  787.    MV_PLAT_X(3)=240
  788.    MV_PLAT_Y(3)=192
  789.    Bob 14,MV_PLAT_X(3),MV_PLAT_Y(3),49
  790.    M$=""
  791.    M$=M$+" Start:               "
  792.    M$=M$+"       Move 0,-48,24  "
  793.    M$=M$+"       Move 0,0,16    "
  794.    M$=M$+"       Move 0,-48,24  "
  795.    M$=M$+"       Move 0,0,16    "
  796.    M$=M$+"       Move 0,-48,24  "
  797.    M$=M$+"       Move 0,0,16    "
  798.    M$=M$+"       Move 0,48,24   "
  799.    M$=M$+"       Move 0,0,16    "
  800.    M$=M$+"       Move 0,48,24   "
  801.    M$=M$+"       Move 0,0,16    "
  802.    M$=M$+"       Move 0,48,24   "
  803.    M$=M$+"       Move 0,0,16    "
  804.    M$=M$+" Jump Start           "
  805.    Amal 3,M$
  806.    
  807. End Proc
  808. Procedure LEVEL_7
  809.    
  810.    PLY_X=160
  811.    PLY_Y=80
  812.    OLD_PLY_X=160
  813.    OLD_PLY_Y=80
  814.    
  815.    Reserve Zone 40
  816.    Set Zone 1,0,240 To 319,247
  817.    Set Zone 2,128,80 To 191,87
  818.    
  819.    For Y=0 To 255 Step 16
  820.       For X=0 To 319 Step 16
  821.          Read IMAGE
  822.          Paste Bob X,Y,IMAGE+50
  823.       Next 
  824.    Next 
  825.    
  826.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  827.    Data $0,$0,13,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,13,$0,12,$0,$0,$0
  828.    Data $0,$0,14,15,12,$0,$0,$0,$0,14,15,$0,$0,$0,22,$0,14,15,13,$0
  829.    Data $0,$0,16,17,$0,$0,$0,13,$0,16,17,$0,12,$0,$0,$0,16,17,$0,12
  830.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  831.    Data 12,$8,$9,$0,$0,$0,$0,$0,$3,$1,$1,$2,$0,$0,$0,$0,$0,$0,$0,$0
  832.    Data $0,10,11,$4,$5,$0,$4,$5,$0,$4,$5,12,$4,$5,$0,$4,$5,$0,$0,$0
  833.    Data $0,$0,13,$6,$7,$0,$6,$7,$0,$6,$7,$0,$6,$7,$0,$6,$7,$0,$0,$0
  834.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  835.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0
  836.    Data $0,12,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,$0,20,21,$0,$0,$0,$0,$0
  837.    Data $0,$0,$0,18,19,$0,$0,13,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,12,$0
  838.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  839.    Data 13,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,13,$0,$0
  840.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0
  841.    Data $1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1
  842.    
  843.    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  844.    
  845.    For C=0 To 7
  846.       X=96+(C*16)
  847.       X2=X+15
  848.       PLAT_ON(C)=1
  849.       Set Zone 33+C,X,144 To X2,159
  850.       Bob 3+C,X,144,
  851.    Next 
  852.    
  853.    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  854.    
  855.    For C=0 To 7
  856.       Channel C To Bob C+11
  857.    Next 
  858.    
  859.    MV_PLAT_ON(0)=1
  860.    MV_PLAT_X(0)=0
  861.    MV_PLAT_Y(0)=192
  862.    Bob 11,MV_PLAT_X(0),MV_PLAT_Y(0),49
  863.    M$=""
  864.    M$=M$+" Start:               "
  865.    M$=M$+"       Move 288,0,144 "
  866.    M$=M$+"       Move -288,0,144"
  867.    M$=M$+" Jump Start           "
  868.    Amal 0,M$
  869.    
  870. End Proc
  871. Procedure LEVEL_8
  872.    
  873.    PLY_X=120
  874.    PLY_Y=96
  875.    OLD_PLY_X=120
  876.    OLD_PLY_Y=96
  877.    
  878.    Reserve Zone 40
  879.    Set Zone 1,0,240 To 319,247
  880.    Set Zone 2,0,96 To 144,103
  881.    Set Zone 3,176,96 To 319,103
  882.    Set Zone 4,0,192 To 31,199
  883.    Set Zone 5,272,192 To 319,199
  884.    
  885.    For Y=0 To 255 Step 16
  886.       For X=0 To 319 Step 16
  887.          Read IMAGE
  888.          Paste Bob X,Y,IMAGE+50
  889.       Next 
  890.    Next 
  891.    
  892.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,12,$0,$0,$0,$0
  893.    Data $0,14,15,$0,14,15,$0,$0,$0,$4,$5,$0,$0,$0,14,15,$0,14,15,$0
  894.    Data $0,16,17,$0,16,17,$0,$0,13,$6,$7,$0,13,$0,16,17,$0,16,17,$0
  895.    Data $0,$0,13,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  896.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,12
  897.    Data $0,$0,$0,$0,$0,$0,$0,18,19,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0
  898.    Data $1,$1,$1,$1,$1,$1,$1,$1,$2,$0,$0,$3,$1,$1,$1,$1,$1,$1,$1,$1
  899.    Data $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  900.    Data $0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,13,$0,$0
  901.    Data $0,$0,$0,$0,$1,$0,$0,$1,$0,$0,$0,$0,$1,$0,$0,$1,$0,$0,$8,$9
  902.    Data $0,$0,$0,$0,$0,13,$0,$0,$0,12,$0,$0,$0,$0,12,$0,$0,$0,10,11
  903.    Data $0,$0,$0,$0,$0,$0,22,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  904.    Data $1,$2,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,13,$0,$0,$0,$0,$3,$1,$1
  905.    Data $0,$0,$0,12,$0,$0,$0,$0,13,$0,$0,$0,$0,$0,$0,$0,13,$0,12,$0
  906.    Data 13,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,12,$0,$0,$0,$0,$0,$0,$0,$0
  907.    Data $1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1,$1
  908.    
  909.    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  910.    
  911.    PLAT_ON(0)=1
  912.    Set Zone 33,64,144 To 79,151
  913.    Bob 3,64,144,
  914.    
  915.    PLAT_ON(1)=1
  916.    Set Zone 34,112,144 To 127,151
  917.    Bob 4,112,144,
  918.    
  919.    PLAT_ON(2)=1
  920.    Set Zone 35,192,144 To 207,151
  921.    Bob 5,192,144,
  922.    
  923.    PLAT_ON(3)=1
  924.    Set Zone 36,240,144 To 255,151
  925.    Bob 6,240,144,
  926.    
  927.    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  928.    
  929.    For C=0 To 7
  930.       Channel C To Bob C+11
  931.    Next 
  932.    
  933.    MV_PLAT_ON(0)=1
  934.    MV_PLAT_X(0)=32
  935.    MV_PLAT_Y(0)=192
  936.    Bob 11,MV_PLAT_X(0),MV_PLAT_Y(0),49
  937.    M$=""
  938.    M$=M$+" Start:               "
  939.    M$=M$+"       Move 48,0,24   "
  940.    M$=M$+"       Move -48,0,24  "
  941.    M$=M$+" Jump Start           "
  942.    Amal 0,M$
  943.    
  944.    MV_PLAT_ON(1)=1
  945.    MV_PLAT_X(1)=160
  946.    MV_PLAT_Y(1)=192
  947.    Bob 12,MV_PLAT_X(1),MV_PLAT_Y(1),49
  948.    M$=""
  949.    M$=M$+" Start:               "
  950.    M$=M$+"       Move -48,0,24  "
  951.    M$=M$+"       Move 48,0,24   "
  952.    M$=M$+" Jump Start           "
  953.    Amal 1,M$
  954.    
  955.    MV_PLAT_ON(2)=1
  956.    MV_PLAT_X(2)=192
  957.    MV_PLAT_Y(2)=192
  958.    Bob 13,MV_PLAT_X(2),MV_PLAT_Y(2),49
  959.    M$=""
  960.    M$=M$+" Start:               "
  961.    M$=M$+"       Move 48,0,24   "
  962.    M$=M$+"       Move -48,0,24  "
  963.    M$=M$+" Jump Start           "
  964.    Amal 2,M$
  965.    
  966. End Proc
  967. Procedure LEVEL_START
  968.    
  969.    Screen Copy Logic To Physic
  970.    
  971.    If TIME>0 Then Dec TIME
  972.    DISPLAY_TIME
  973.    
  974.    Bob Clear 
  975.    
  976.    Bob 0,SPOT_X,SPOT_Y,1
  977.    Bob 1,PLY_X,PLY_Y,2
  978.    
  979.    For C=0 To 7
  980.       FRAME=PLAT_DIS(C)+42
  981.       Bob C+3,,,FRAME
  982.    Next 
  983.    
  984.    Bob Draw 
  985.    
  986.    Screen Swap 
  987.    Wait Vbl 
  988.    
  989.    Fade 5,$0,$632,$521,$410,$300,$5,$3,$2,$555,$444,$333,$222,$111,$0,$800,$254,$111,$E97,$D64,$A31,$700,$3A,$18,$5,$EEE,$BBB,$888,$555,$333,$222,$F00,$5A9
  990.    Wait 75
  991.    
  992. End Proc
  993.  
  994. Procedure TEST_JOYSTICK
  995.    
  996.    CONTROL=Joy(1)
  997.    
  998.    ' UP 
  999.    If CONTROL and 1
  1000.       If Y_SPD=0 and JUMP_FLAG=0
  1001.          Y_SPD=-8
  1002.          JUMP_FLAG=1
  1003.          FALL=0
  1004.       End If 
  1005.    End If 
  1006.    
  1007.    ' RIGHT
  1008.    If CONTROL and 4
  1009.       Dec X_MOVE
  1010.    Else 
  1011.       If X_MOVE<0 : Inc X_MOVE : End If 
  1012.    End If 
  1013.    
  1014.    ' LEFT 
  1015.    If CONTROL and 8
  1016.       Inc X_MOVE
  1017.    Else 
  1018.       If X_MOVE>0 : Dec X_MOVE : End If 
  1019.    End If 
  1020.    
  1021.    If X_MOVE>FULL_X_SPD*4 Then X_MOVE=FULL_X_SPD*4
  1022.    If X_MOVE<-FULL_X_SPD*4 Then X_MOVE=-FULL_X_SPD*4
  1023.    
  1024.    X_SPD=X_MOVE/4
  1025.    
  1026. End Proc
  1027. Procedure MOVE_PLATFORMS
  1028.    
  1029.    For C=0 To 7
  1030.       If MV_PLAT_ON(C)=1
  1031.          MV_PLAT_DIR_X(C)=X Bob(C+11)-MV_PLAT_X(C)
  1032.          MV_PLAT_DIR_Y(C)=Y Bob(C+11)-MV_PLAT_Y(C)
  1033.          MV_PLAT_X(C)=X Bob(C+11)
  1034.          MV_PLAT_Y(C)=Y Bob(C+11)
  1035.          Set Zone C+25,MV_PLAT_X(C),MV_PLAT_Y(C) To MV_PLAT_X(C)+31,MV_PLAT_Y(C)+9
  1036.       End If 
  1037.    Next 
  1038.    
  1039. End Proc
  1040. Procedure TEST_FOR_PLATFORM
  1041.    
  1042.    BLOCK_COL=Zone(PLY_X,PLY_Y)
  1043.    
  1044.    If Y_SPD<0 Then BLOCK_COL=0
  1045.    
  1046.    If BLOCK_COL>32
  1047.       If PLAT_ON(BLOCK_COL-33)<1 : BLOCK_COL=0 : End If 
  1048.    End If 
  1049.    
  1050.    If BLOCK_COL=0
  1051.       Inc FALL
  1052.       If FALL>1
  1053.          FALL=0
  1054.          Inc Y_SPD
  1055.       End If 
  1056.    End If 
  1057.    
  1058.    If BLOCK_COL>0
  1059.       If BLOCK_COL>24 and BLOCK_COL<33
  1060.          JUMP_FLAG=0
  1061.          OLD_PLY_Y=MV_PLAT_Y(BLOCK_COL-25)
  1062.          Add OLD_PLY_Y,MV_PLAT_DIR_Y(BLOCK_COL-25)
  1063.          If Y_SPD=0
  1064.             If X_SPD=0
  1065.                Add OLD_PLY_X,MV_PLAT_DIR_X(BLOCK_COL-25)
  1066.             End If 
  1067.          Else 
  1068.             Y_SPD=0
  1069.             SKID_FLAG=1
  1070.          End If 
  1071.       Else 
  1072.          JUMP_FLAG=0
  1073.          LANDED_FLAG=1
  1074.          If Y_SPD<>0
  1075.             Y_SPD=0
  1076.             SKID_FLAG=1
  1077.          End If 
  1078.       End If 
  1079.    End If 
  1080.    
  1081.    If BLOCK_COL>32
  1082.       Inc PLAT_DIS(BLOCK_COL-33)
  1083.       If PLAT_DIS(BLOCK_COL-33)>5
  1084.          PLAT_ON(BLOCK_COL-33)=-55
  1085.       End If 
  1086.    End If 
  1087.    
  1088.    For C=0 To 7
  1089.       If PLAT_ON(C)<1
  1090.          Inc PLAT_ON(C)
  1091.          If PLAT_ON(C)>-5
  1092.             Dec PLAT_DIS(C)
  1093.          End If 
  1094.       End If 
  1095.    Next 
  1096.    
  1097.    If X_SPD=0 and Y_SPD=0 and JUMP_FLAG=0
  1098.       WOBBLE_COL1=Zone(PLY_X-8,PLY_Y)
  1099.       WOBBLE_COL2=Zone(PLY_X+8,PLY_Y)
  1100.       
  1101.       If WOBBLE_COL1>32
  1102.          If PLAT_ON(WOBBLE_COL1-33)<1 : WOBBLE_COL1=0 : End If 
  1103.       End If 
  1104.       If WOBBLE_COL2>32
  1105.          If PLAT_ON(WOBBLE_COL2-33)<1 : WOBBLE_COL2=0 : End If 
  1106.       End If 
  1107.       
  1108.       If WOBBLE_COL1=0 or WOBBLE_COL2=0
  1109.          EDGE_FLAG=1
  1110.          If WOBBLE_COL2=0
  1111.             EDGE_FLAG=2
  1112.          End If 
  1113.       Else 
  1114.          EDGE_FLAG=0
  1115.          WOBBLE=0
  1116.       End If 
  1117.       
  1118.    End If 
  1119.    
  1120.    If Y_SPD>FULL_Y_SPD Then Y_SPD=FULL_Y_SPD
  1121.    If Y_SPD<-FULL_Y_SPD Then Y_SPD=-FULL_Y_SPD
  1122.    
  1123. End Proc
  1124. Procedure FIND_PLY_FRAME
  1125.    
  1126.    If JUMP_FLAG=0 and Y_SPD=0
  1127.       
  1128.       If CONTROL and %1100
  1129.          If CONTROL and %1000 : MOVE_FRAME=2 : End If 
  1130.          If CONTROL and %100 : MOVE_FRAME=15 : End If 
  1131.          
  1132.          Inc JOG_FRAME : If JOG_FRAME>15 : JOG_FRAME=0 : End If 
  1133.          ANI=JOG_FRAME/4
  1134.       Else 
  1135.          If X_MOVE<>0
  1136.             ANI=4
  1137.          Else 
  1138.             ANI=0
  1139.          End If 
  1140.       End If 
  1141.       
  1142.       If ANI=0 or ANI=2 : PLY_FRAME=MOVE_FRAME : End If 
  1143.       If ANI=1 : PLY_FRAME=MOVE_FRAME+1 : End If 
  1144.       If ANI=3 : PLY_FRAME=MOVE_FRAME+2 : End If 
  1145.       If ANI=4 : PLY_FRAME=MOVE_FRAME+3 : End If 
  1146.       
  1147.       If Abs(X_MOVE)=10 : SKID_FLAG=1 : End If 
  1148.       
  1149.    Else 
  1150.       
  1151.       If CONTROL and %1100
  1152.          If X_MOVE>0 : MOVE_FRAME=2 : End If 
  1153.          If X_MOVE<0 : MOVE_FRAME=15 : End If 
  1154.       End If 
  1155.       
  1156.       PLY_FRAME=MOVE_FRAME+4
  1157.       
  1158.    End If 
  1159.    
  1160.    If EDGE_FLAG=1 and X_SPD=0 and Y_SPD=0 and JUMP_FLAG=0
  1161.       Inc WOBBLE : If WOBBLE>3 : WOBBLE=0 : End If 
  1162.       PLY_FRAME=MOVE_FRAME+9+WOBBLE
  1163.    End If 
  1164.    If EDGE_FLAG=2 and X_SPD=0 and Y_SPD=0 and JUMP_FLAG=0
  1165.       Inc WOBBLE : If WOBBLE>3 : WOBBLE=0 : End If 
  1166.       PLY_FRAME=MOVE_FRAME+5+WOBBLE
  1167.    End If 
  1168.    
  1169. End Proc
  1170. Procedure FIND_NEW_CO_ORDS
  1171.    
  1172.    PLY_X=OLD_PLY_X+X_SPD
  1173.    PLY_Y=OLD_PLY_Y+Y_SPD
  1174.    
  1175.    If LANDED_FLAG=1
  1176.       LANDED_FLAG=0
  1177.       PLY_Y=(PLY_Y/8)*8
  1178.    End If 
  1179.    
  1180.    If PLY_X>311
  1181.       X_MOVE=0
  1182.       X_SPD=0
  1183.       PLY_X=311
  1184.    End If 
  1185.    If PLY_X<8
  1186.       X_MOVE=0
  1187.       X_SPD=0
  1188.       PLY_X=8
  1189.    End If 
  1190.    
  1191.    Inc SPOT_MOVE
  1192.    If SPOT_MOVE>SPOT_SLOW
  1193.       SPOT_MOVE=0
  1194.       If SPOT_X>PLY_X : Add SPOT_X,-SPOT_SPD : End If 
  1195.       If SPOT_X<PLY_X : Add SPOT_X,SPOT_SPD : End If 
  1196.       If SPOT_Y>PLY_Y : Add SPOT_Y,-SPOT_SPD : End If 
  1197.       If SPOT_Y<PLY_Y : Add SPOT_Y,SPOT_SPD : End If 
  1198.    End If 
  1199.    
  1200.    OLD_PLY_X=PLY_X
  1201.    OLD_PLY_Y=PLY_Y
  1202.    
  1203. End Proc
  1204. Procedure SKID_PUFFS
  1205.    
  1206.    If SKID_FRAME>0
  1207.       Dec SKID_FRAME
  1208.    Else 
  1209.       If SKID_FLAG=1
  1210.          SKID_FLAG=0
  1211.          SKID_X=PLY_X
  1212.          SKID_Y=PLY_Y
  1213.          SKID_FRAME=6
  1214.          If MOVE_FRAME=2 : SKID_ADD=35 : End If 
  1215.          If MOVE_FRAME=15 : SKID_ADD=28 : End If 
  1216.       End If 
  1217.    End If 
  1218.    
  1219. End Proc
  1220. Procedure CHECK_FOR_SPOT_COL
  1221.    
  1222.    If Abs((SPOT_X/8)-(PLY_X/8))<2
  1223.       If Abs((SPOT_Y/8)-(PLY_Y/8))<2
  1224.          DEAD=1
  1225.       End If 
  1226.    End If 
  1227.    
  1228. End Proc
  1229. Procedure FIND_TIME
  1230.    
  1231.    If TIME>0 Then Dec TIME
  1232.    DISPLAY_TIME
  1233.    
  1234. End Proc
  1235. Procedure MOVE_ALL
  1236.    
  1237.    Bob Clear 
  1238.    
  1239.    Bob 0,SPOT_X,SPOT_Y,1
  1240.    Bob 1,PLY_X,PLY_Y,PLY_FRAME
  1241.    
  1242.    For C=0 To 7
  1243.       FRAME=PLAT_DIS(C)+42
  1244.       Bob C+3,,,FRAME
  1245.    Next 
  1246.    
  1247.    If SKID_FRAME>0
  1248.       Set Bob 2,0,%1111,0
  1249.       Bob 2,SKID_X,SKID_Y,SKID_FRAME+SKID_ADD
  1250.    Else 
  1251.       Bob Off 2
  1252.    End If 
  1253.    
  1254.    Synchro 
  1255.    
  1256.    Bob Draw 
  1257.    
  1258.    Screen Swap 
  1259.    Wait Vbl 
  1260.    
  1261. End Proc
  1262.  
  1263. Procedure CHECK_KEYBOARD
  1264.    
  1265.    P_PRESS=Key State(25)
  1266.    ESC_PRESS=Key State(69)
  1267.    
  1268.    If P_PRESS=-1 Then PAUSE
  1269.    If ESC_PRESS=-1 Then QUIT
  1270.    
  1271. End Proc
  1272. Procedure PAUSE
  1273.    
  1274.    Repeat 
  1275.       P_PRESS=Key State(25)
  1276.    Until P_PRESS=0
  1277.    Repeat 
  1278.       P_PRESS=Key State(25)
  1279.    Until P_PRESS=-1
  1280.    Repeat 
  1281.       P_PRESS=Key State(25)
  1282.    Until P_PRESS=0
  1283.    
  1284. End Proc
  1285. Procedure QUIT
  1286.    
  1287.    Repeat 
  1288.       ESC_PRESS=Key State(25)
  1289.    Until ESC_PRESS=0
  1290.    
  1291.    QUIT_FLAG=1
  1292.    
  1293. End Proc
  1294.  
  1295. Procedure DISPLAY_TIME
  1296.    
  1297.    TENS=TIME/100
  1298.    UNITS=(TIME/10)-(TENS*10)
  1299.    
  1300.    Sprite 0,263,44,92
  1301.    Sprite 4,297,44,TENS+82
  1302.    Sprite 6,305,44,UNITS+82
  1303.    Sprite Update 
  1304.    
  1305. End Proc
  1306. Procedure DEATH_SCENE
  1307.    
  1308.    Amal Off 
  1309.    Bob Off 2
  1310.    
  1311.    MAN_ANIMATE[MOVE_FRAME,0]
  1312.    
  1313.    Fade 2,$0,$E97,$D64,$A31,$700,$3A,$18,$5,$EEE,$BBB,$888,$555,$333,$222,$F00,$5A9,$111,$E97,$D64,$A31,$700,$3A,$18,$5,$EEE,$BBB,$888,$555,$333,$222,$F00,$5A9
  1314.    Wait 30
  1315.    
  1316.    MAN_ANIMATE[74,20]
  1317.    
  1318.    For C=1 To 4
  1319.       MAN_ANIMATE[74,4]
  1320.       MAN_ANIMATE[75,4]
  1321.       MAN_ANIMATE[74,4]
  1322.       MAN_ANIMATE[76,4]
  1323.    Next 
  1324.    
  1325.    MAN_ANIMATE[74,10]
  1326.    
  1327.    For C=1 To 8
  1328.       MAN_ANIMATE[73,2]
  1329.       Sam Play 2
  1330.       MAN_ANIMATE[74,2]
  1331.    Next 
  1332.    
  1333.    Sam Play 3
  1334.    MAN_ANIMATE[77,60]
  1335.    MAN_ANIMATE[78,20]
  1336.    
  1337.    For C=1 To 8
  1338.       MAN_ANIMATE[73,2]
  1339.       Sam Play 2
  1340.       MAN_ANIMATE[78,2]
  1341.    Next 
  1342.    
  1343.    Sam Play 4
  1344.    MAN_ANIMATE[79,60]
  1345.    MAN_ANIMATE[80,20]
  1346.    
  1347.    For C=1 To 8
  1348.       MAN_ANIMATE[73,2]
  1349.       Sam Play 2
  1350.       MAN_ANIMATE[80,2]
  1351.    Next 
  1352.    
  1353.    Sam Play 5
  1354.    MAN_ANIMATE[81,200]
  1355.    
  1356.    Fade 5
  1357.    Wait 100
  1358.    
  1359.    Cls 0
  1360.    Pen 1 : Paper 0
  1361.    Locate 0,15
  1362.    Centre "GAME  OVER"
  1363.    
  1364.    Screen Swap 
  1365.    
  1366.    Fade 2,$0,$FFF
  1367.    Wait 75
  1368.    Fade 2
  1369.    Wait 50
  1370.    
  1371.    Sprite Off 0
  1372.    Sprite Off 4
  1373.    Sprite Off 6
  1374.    Update 
  1375.    
  1376. End Proc
  1377. Procedure MAN_ANIMATE[FRM,SPD]
  1378.    
  1379.    Bob Clear 
  1380.    Bob 1,,,FRM
  1381.    Bob Draw 
  1382.    
  1383.    Screen Swap 
  1384.    If SPD=0
  1385.       Wait Vbl 
  1386.    Else 
  1387.       Wait SPD
  1388.    End If 
  1389.    
  1390. End Proc
  1391. Procedure SURVIVED_SCENE
  1392.    
  1393.    Amal Off 
  1394.    Track Stop 
  1395.    Sam Play 1
  1396.    Wait 50
  1397.    Fade 5
  1398.    Wait 100
  1399.    
  1400.    Cls 0
  1401.    Pen 1 : Paper 0
  1402.    Locate 0,8
  1403.    Centre "WELL DONE!"
  1404.    Locate 0,9
  1405.    Centre "~~~~~~~~~~"
  1406.    Locate 0,13
  1407.    Centre "YOU SURVIVED THAT LEVEL OKAY."
  1408.    Locate 0,15
  1409.    Centre "NOW GET READY FOR THE NEXT SCREEN."
  1410.    Pen 2 : Paper 0
  1411.    Locate 0,23
  1412.    Centre "PRESS FIRE TO CONTINUE"
  1413.    
  1414.    Screen Swap 
  1415.    
  1416.    Fade 2,$0,$FFF
  1417.    Wait 30
  1418.    
  1419.    F$="(000,2)(222,2)(444,2)(666,2)(888,2)(AAA,2)(CCC,2)"
  1420.    F$=F$+"(EEE,2)(CCC,2)(AAA,2)(888,2)(666,2)(444,2)(222,2)"
  1421.    Flash 2,F$
  1422.    
  1423.    Repeat 
  1424.    Until Fire(1)
  1425.    
  1426.    Flash Off 
  1427.    Fade 2
  1428.    Wait 30
  1429.    
  1430. End Proc
  1431. Procedure QUIT_SCENE
  1432.    
  1433.    Amal Off 
  1434.    Track Stop 
  1435.    Wait 5
  1436.    Fade 1
  1437.    Wait 30
  1438.    
  1439.    Sprite Off 0
  1440.    Sprite Off 4
  1441.    Sprite Off 6
  1442.    Update 
  1443.    
  1444. End Proc
  1445. Procedure FINISHING_SCENE
  1446.    
  1447.    Amal Off 
  1448.    Track Stop 
  1449.    Sam Play 1
  1450.    Wait 50
  1451.    Fade 5
  1452.    Wait 100
  1453.    
  1454.    Sprite Off 0
  1455.    Sprite Off 4
  1456.    Sprite Off 6
  1457.    Update 
  1458.    
  1459.    Load "Escape:Graphic_Data/Finishing.Abk",6
  1460.    Unpack 6 To 0
  1461.    Erase 6
  1462.    
  1463.    Erase 1
  1464.    Erase 3
  1465.    Erase 5
  1466.    Track Load "Escape:Sound_Data/Finishing",3
  1467.    Track Play 
  1468.    
  1469.    Fade 5,$0,$EE0,$EC0,$EA0,$E80,$E60,$E40,$E20,$E00,$C00,$A00,$800,$600,$400,$200,$FFF
  1470.    
  1471.    Wait 1000
  1472.    Repeat 
  1473.    Until Fire(1)
  1474.    
  1475.    Fade 5
  1476.    Wait 100
  1477.    Track Stop 
  1478.    Erase 3
  1479.    Screen Close 0
  1480.    
  1481. End Proc
  1482.  
  1483. Procedure CHECK_FOR_NTSC
  1484.    
  1485.    If Ntsc
  1486.       
  1487.       Screen Open 0,640,200,2,Hires
  1488.       Screen Display 0,128,40,640,200
  1489.       Curs Off : Flash Off : Hide 
  1490.       Palette $0,$0
  1491.       
  1492.       For C=1 To 2
  1493.          
  1494.          Cls 0
  1495.          
  1496.          For Y=0 To 24 Step 2
  1497.             Read TXT$
  1498.             Locate ,Y
  1499.             Centre Upper$(TXT$)
  1500.          Next 
  1501.          
  1502.          Fade 1,$0,$FFF
  1503.          Wait 30
  1504.          
  1505.          Repeat 
  1506.          Until Fire(1)
  1507.          
  1508.          Fade 2
  1509.          Wait 50
  1510.          
  1511.       Next 
  1512.       
  1513.       End 
  1514.       
  1515.    End If 
  1516.    
  1517.    Data ""
  1518.    Data "ntsc display detected!"
  1519.    Data ""
  1520.    Data "unfortunatly this product has been designed specifically for a pal"
  1521.    Data "display and will therefore not run properly on your current display."
  1522.    Data "If you feel there is a need for an ntsc version then you can contact"
  1523.    Data "thermogenesis at the address i am about to give. if there is a great"
  1524.    Data "enough demand a suitable version will be released."
  1525.    Data ""
  1526.    Data "sorry for the inconvenience."
  1527.    Data ""
  1528.    Data "press fire for our address!"
  1529.    Data ""
  1530.    
  1531.    Data ""
  1532.    Data "if you think an ntsc version should be released or you have"
  1533.    Data "any other reason please write to:"
  1534.    Data ""
  1535.    Data ""
  1536.    Data "thermogenesis     "
  1537.    Data "9 hazelden gardens"
  1538.    Data "muirend           "
  1539.    Data "glasgow           "
  1540.    Data "scotland          "
  1541.    Data "g44 3hq           "
  1542.    Data ""
  1543.    Data ""
  1544.    
  1545. End Proc
  1546. Procedure PD_MESSAGE
  1547.    
  1548.    Screen Open 0,640,256,2,Hires
  1549.    Screen Display 0,128,40,640,256
  1550.    Curs Off : Flash Off : Hide 
  1551.    Palette $0,$0
  1552.    
  1553.    Cls 0
  1554.    
  1555.    For Y=0 To 31 Step 2
  1556.       Read TXT$
  1557.       Locate ,Y
  1558.       Centre Upper$(TXT$)
  1559.    Next 
  1560.    
  1561.    Fade 1,$0,$FFF
  1562.    Wait 30
  1563.    
  1564.    Repeat 
  1565.       If Jdown(1) Then SKIP_FLAG=1
  1566.    Until Fire(1)
  1567.    
  1568.    Fade 2
  1569.    Wait 50
  1570.    
  1571.    Data ""
  1572.    Data "important message"
  1573.    Data ""
  1574.    Data "this product is public domain. as such no charge should be"
  1575.    Data "made for it's purchase other than to cover the cost of"
  1576.    Data "postage and disks. the contents of this disk should "
  1577.    Data "not be altered in any way for it's distribution."
  1578.    Data ""
  1579.    Data "please feel free to copy this disk and pass it on to others."
  1580.    Data ""
  1581.    Data "please also feel free to contact us at the address given in"
  1582.    Data "the scrolling message."
  1583.    Data ""
  1584.    Data "press fire for the intro"
  1585.    Data ""
  1586.    Data "or hold down and press fire to skip the intro."
  1587.    
  1588. End Proc
  1589. Procedure TG_LOGO_SCENE
  1590.    
  1591.    Load "Escape:Graphic_Data/TG_Logo.Abk",6
  1592.    Unpack 6 To 0
  1593.    Erase 6
  1594.    Track Load "Escape:Sound_Data/Intro",3
  1595.    
  1596.    Auto View Off 
  1597.    Double Buffer 
  1598.    Autoback 0
  1599.    Screen Copy Logic To Physic
  1600.    
  1601.    Fade 5,$4,$5,$3,$4,$4,$4,$4,$4,$5,$5,$5,$5,$3,$3,$3,$3
  1602.    For C=1 To 4
  1603.       Colour Back C
  1604.       View 
  1605.       Wait 5
  1606.    Next 
  1607.    
  1608.    Wait 100
  1609.    Fade 5,,,,,$FFF,,,,$FFF,,,,$FFF
  1610.    Wait 100
  1611.    Fade 5,,,,,$4,,,,$5,,,,$3
  1612.    Wait 100
  1613.    
  1614.    Screen Copy Logic,0,256,639,326 To Logic,0,92
  1615.    Screen Swap 
  1616.    Wait Vbl 
  1617.    
  1618.    Wait 100
  1619.    Fade 1,,,,,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
  1620.    Track Play 
  1621.    Wait 15
  1622.    Fade 5,,,,,$C00,$800,$400,$0,$C00,$800,$400,$0,$C00,$800,$400,$0
  1623.    Wait 300
  1624.    Fade 5,,,,,$4,$4,$4,$4,$5,$5,$5,$5,$3,$3,$3,$3
  1625.    Wait 100
  1626.    
  1627.    Fade 5
  1628.    For C=3 To 0 Step -1
  1629.       Colour Back C
  1630.       View 
  1631.       Wait 5
  1632.    Next 
  1633.    
  1634.    Auto View On 
  1635.    Wait 100
  1636.    
  1637. End Proc
  1638. Procedure VERTICAL_SCROLL
  1639.    
  1640.    Screen Open 0,320,256,2,Lowres
  1641.    Screen Display 0,128,48,320,240
  1642.    Curs Off : Flash Off : Hide : Cls 0
  1643.    Double Buffer 
  1644.    Autoback 0
  1645.    Palette $0,$0
  1646.    
  1647.    Set Rainbow 0,1,238,"","",""
  1648.    For C=0 To 237
  1649.       Rain(0,C)=$FFF
  1650.    Next 
  1651.    For C=0 To 15
  1652.       CUL=C*$111
  1653.       For A=0 To 2
  1654.          Rain(0,(C*3)+A)=CUL
  1655.          Rain(0,(237-(C*3))-A)=CUL
  1656.       Next 
  1657.    Next 
  1658.    Rainbow 0,0,49,240
  1659.    
  1660.    Restore DAT_TXT
  1661.    Def Scroll 1,0,0 To 320,256,0,-1
  1662.    
  1663.    Repeat 
  1664.       Read TXT$
  1665.       If TXT$="end"
  1666.          FINISHED=1
  1667.          TXT$=""
  1668.       End If 
  1669.       Locate 0,30
  1670.       Centre Upper$(TXT$)
  1671.       For C=0 To 7
  1672.          Scroll 1
  1673.          Screen Swap 
  1674.          Wait 2
  1675.          Screen Copy Physic To Logic
  1676.       Next 
  1677.    Until FINISHED=1
  1678.    
  1679.    For C=0 To 239
  1680.       Scroll 1
  1681.       Screen Swap 
  1682.       Wait 2
  1683.       Screen Copy Physic To Logic
  1684.    Next 
  1685.    
  1686.    Rainbow Del 0
  1687.    
  1688.    DAT_TXT:
  1689.    Data "credits"
  1690.    Data "~~~~~~~"
  1691.    Data ""
  1692.    Data ""
  1693.    Data ""
  1694.    Data ""
  1695.    Data ""
  1696.    Data ""
  1697.    Data ""
  1698.    Data ""
  1699.    Data "design "
  1700.    Data "~~~~~~ "
  1701.    Data ""
  1702.    Data "richard jobling"
  1703.    Data ""
  1704.    Data "+"
  1705.    Data ""
  1706.    Data "grant mcallister"
  1707.    Data ""
  1708.    Data ""
  1709.    Data ""
  1710.    Data ""
  1711.    Data ""
  1712.    Data ""
  1713.    Data ""
  1714.    Data ""
  1715.    Data "programming + graphics"
  1716.    Data "~~~~~~~~~~~~~~~~~~~~~~"
  1717.    Data ""
  1718.    Data "richard jobling"
  1719.    Data ""
  1720.    Data ""
  1721.    Data ""
  1722.    Data ""
  1723.    Data ""
  1724.    Data ""
  1725.    Data ""
  1726.    Data ""
  1727.    Data "sound effects + music"
  1728.    Data "~~~~~~~~~~~~~~~~~~~~~"
  1729.    Data ""
  1730.    Data "grant mcallister"
  1731.    Data "end"
  1732.    
  1733. End Proc
  1734. Procedure PRISONER_SCENE
  1735.    
  1736.    Load "Escape:Graphic_Data/Prisoner.Abk",6
  1737.    Unpack 6 To 0
  1738.    Erase 6
  1739.    
  1740.    For X=0 To 959 Step 320
  1741.       Screen Offset 0,X,0
  1742.       
  1743.       Fade 1,$0,$FCA,$FB9,$F97,$E86,$C64,$A42,$710,$600,$400,$5F,$4F,$3D,$2A,$7,$4,$FFF,$EEE,$DDD,$CCC,$BBB,$AAA,$999,$888,$777,$666,$555,$444,$333,$222,$111,$0
  1744.       Wait 150
  1745.       Palette $0,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
  1746.       Wait 1
  1747.       Fade 2,$0,$AAA,$999,$888,$777,$666,$555,$444,$333,$111,$777,$666,$555,$444,$222,$111,$FFF,$EEE,$DDD,$CCC,$BBB,$AAA,$999,$888,$777,$666,$555,$444,$333,$222,$111,$0
  1748.       Wait 150
  1749.       Fade 1
  1750.       Wait 15
  1751.    Next 
  1752.    
  1753. End Proc
  1754. Procedure SET_UP_SCROLLER
  1755.    
  1756.    Screen Open 1,352,16,2,Lowres
  1757.    Screen Display 1,128,288,320,8
  1758.    Screen Offset 1,16,0
  1759.    Curs Off : Flash Off : Hide : Cls 0
  1760.    Double Buffer 
  1761.    Autoback 0
  1762.    Palette $0,$FFF
  1763.    
  1764.    SCRL_POS=0
  1765.    SCRL_SPD=2
  1766.    SCRL_X=0
  1767.    
  1768.    Def Scroll 1,0,0 To 352,8,SCRL_SPD,0
  1769.    
  1770.    SCRL_TXT$=""
  1771.    SCRL_TXT$=SCRL_TXT$+" press fire to start!"
  1772.    SCRL_TXT$=SCRL_TXT$+" you can control this scroller using the joystick."
  1773.    SCRL_TXT$=SCRL_TXT$+" use left and right, with down to pause."
  1774.    SCRL_TXT$=SCRL_TXT$+" in game use the joystick left and right to make"
  1775.    SCRL_TXT$=SCRL_TXT$+" billy run and push up to jump."
  1776.    SCRL_TXT$=SCRL_TXT$+" you can also press p to pause or esc to quit."
  1777.    SCRL_TXT$=SCRL_TXT$+" if you wish to contact thermogenesis for any"
  1778.    SCRL_TXT$=SCRL_TXT$+" reason please write to us at the following address:"
  1779.    SCRL_TXT$=SCRL_TXT$+" 9 hazelden gardens, muirend, glasgow, scotland,"
  1780.    SCRL_TXT$=SCRL_TXT$+" g44 3hq   tel: 041 637-8186    okay! on with the scroller!"
  1781.    SCRL_TXT$=SCRL_TXT$+" it's me richard speaking. at last i have finished all the hard work for this"
  1782.    SCRL_TXT$=SCRL_TXT$+" game. progress was slowed a bit when i had"
  1783.    SCRL_TXT$=SCRL_TXT$+" to go on holiday. however i'm back from"
  1784.    SCRL_TXT$=SCRL_TXT$+" cyprus now and have spent the last three days"
  1785.    SCRL_TXT$=SCRL_TXT$+" putting the finishing touches to this game."
  1786.    SCRL_TXT$=SCRL_TXT$+" okay! so what did we use to make it? we used the following..."
  1787.    SCRL_TXT$=SCRL_TXT$+"     hardware: 1 amiga 500+, 1 amiga 600, 2 zappo"
  1788.    SCRL_TXT$=SCRL_TXT$+" disk drives, 1 philips monitor, 1 commodore monitor, 1 sampler,"
  1789.    SCRL_TXT$=SCRL_TXT$+" 2 knackered hifis, 1 naksha mouse,"
  1790.    SCRL_TXT$=SCRL_TXT$+" plenty of disks and a joystick.    software:"
  1791.    SCRL_TXT$=SCRL_TXT$+" amos pro v1.00, amos v1.35 and compiler, dpaint iii, dpaint iv and octamed v3.00."
  1792.    SCRL_TXT$=SCRL_TXT$+" okay now i think i'll say a few words about the supposed threat"
  1793.    SCRL_TXT$=SCRL_TXT$+" the amiga is under from pc's and consoles."
  1794.    SCRL_TXT$=SCRL_TXT$+" first of all lets get one thing straight."
  1795.    SCRL_TXT$=SCRL_TXT$+" the amiga is not a toy!"
  1796.    SCRL_TXT$=SCRL_TXT$+" if you buy an amiga the chances are you will play"
  1797.    SCRL_TXT$=SCRL_TXT$+" games on it. after all who can ignore the likes of"
  1798.    SCRL_TXT$=SCRL_TXT$+" kick off 2, sensible soccer, project x, alien breed,"
  1799.    SCRL_TXT$=SCRL_TXT$+" super frog, body blows and all the other superb titles."
  1800.    SCRL_TXT$=SCRL_TXT$+" however you will almost certainly also do something"
  1801.    SCRL_TXT$=SCRL_TXT$+" creative with your computer. like music, graphics or programming."
  1802.    SCRL_TXT$=SCRL_TXT$+" this is why the amiga is so good."
  1803.    SCRL_TXT$=SCRL_TXT$+" there's no chance of you doing that on a console."
  1804.    SCRL_TXT$=SCRL_TXT$+" and on the pc it's possible. but never as easy or as much fun!"
  1805.    SCRL_TXT$=SCRL_TXT$+" pc's were only ever meant for spreadsheets and the like."
  1806.    SCRL_TXT$=SCRL_TXT$+" even if you do have a pc or console i bet your amiga is used most."
  1807.    SCRL_TXT$=SCRL_TXT$+" clearly the amiga is the best choice for a teenager with a creative mind."
  1808.    SCRL_TXT$=SCRL_TXT$+" and if you're not creative then you're a nobody(nintendo owner)."
  1809.    SCRL_TXT$=SCRL_TXT$+" the release of the a1200 means the amigas future looks great."
  1810.    SCRL_TXT$=SCRL_TXT$+" errrmmm i think i'll stop now i got a little carried away there."
  1811.    SCRL_TXT$=SCRL_TXT$+" by the way have you found the cheat yet?"
  1812.    SCRL_TXT$=SCRL_TXT$+" before i go could i plead with you for some"
  1813.    SCRL_TXT$=SCRL_TXT$+" feed back to this game. it's important we know what we're doing right"
  1814.    SCRL_TXT$=SCRL_TXT$+" and what we're doing wrong. donations are also very welcome(sorry but i had to say that)."
  1815.    SCRL_TXT$=SCRL_TXT$+" i'll now hand you over to"
  1816.    SCRL_TXT$=SCRL_TXT$+" the musician to say a few words. bye from me..."
  1817.    SCRL_TXT$=SCRL_TXT$+"       "
  1818.    SCRL_TXT$=SCRL_TXT$+" Hullo its grant here! What do you think of the game? i"
  1819.    SCRL_TXT$=SCRL_TXT$+" think it turned out quite good myself! The music didn't take terribly"
  1820.    SCRL_TXT$=SCRL_TXT$+" long to do. of course it did help that richard buggered off to cyprus"
  1821.    SCRL_TXT$=SCRL_TXT$+" half-way through. it meant that he couldn't bug me about doing music."
  1822.    SCRL_TXT$=SCRL_TXT$+" Oh and before i forget, for game or demo music write to: grant mcallister,"
  1823.    SCRL_TXT$=SCRL_TXT$+" 69 cleeves rd, nitshill, glasgow, g53 6nq, scotland. Now that i've got that"
  1824.    SCRL_TXT$=SCRL_TXT$+" wee plug out of the way... put that friggin' trash off, richard! (sounds"
  1825.    SCRL_TXT$=SCRL_TXT$+" of depeche mode and hitting). anyway, time for some greets!! Burglartastic greets"
  1826.    SCRL_TXT$=SCRL_TXT$+" are on they're way to the following: Darren, Kenny, Olly(i suppose),"
  1827.    SCRL_TXT$=SCRL_TXT$+" Keg, Marco, Marcus, Stuart and Paul(both of them!) and daniel. Oh! I've just"
  1828.    SCRL_TXT$=SCRL_TXT$+" been reminded by richard that i don't like consoles! In fact i'd"
  1829.    SCRL_TXT$=SCRL_TXT$+" go as far as to say that i don't like them one little bit! The amiga is best"
  1830.    SCRL_TXT$=SCRL_TXT$+" and will continue to be the best long after the console fad is gone."
  1831.    SCRL_TXT$=SCRL_TXT$+" Speaking of consoles, after rik's torrid outburst i thought you might"
  1832.    SCRL_TXT$=SCRL_TXT$+" like to know that he has a megadrive! Not only that but he has more"
  1833.    SCRL_TXT$=SCRL_TXT$+" games for it than your average wee console owning pleb! A bit dubious methinks!"
  1834.    SCRL_TXT$=SCRL_TXT$+" By the way, i was the one who designed the wee guy! don't let richard tell you"
  1835.    SCRL_TXT$=SCRL_TXT$+" otherwise! Anyway, i've said far too much already so its time for this scrolly to loop!"
  1836.    SCRL_TXT$=SCRL_TXT$+"                                               "
  1837.  
  1838. End Proc
  1839. Procedure SET_UP_SCREEN_PIC
  1840.    
  1841.    Load "Escape:Graphic_Data/Title.Abk",6
  1842.    Unpack 6 To 0
  1843.    Erase 6
  1844.    
  1845.    If SKIP_FLAG=1
  1846.       Erase 1
  1847.       Erase 3
  1848.       Erase 5
  1849.       Track Load "Escape:Sound_Data/Intro",3
  1850.       Track Play 
  1851.    End If 
  1852.    
  1853.    If SKIP_FLAG=0
  1854.       SKIP_FLAG=1
  1855.    End If 
  1856.    
  1857.    Fade 5,$0,$0,$700,$400,$200,$0,$333,$222,$111,$F00,$E00,$D00,$C00,$B00,$A00,$900
  1858.    Wait 100
  1859.    
  1860. End Proc
  1861. Procedure MOVE_SCROLLER
  1862.    
  1863.    Screen 1
  1864.    
  1865.    JMOVE=Joy(1)
  1866.    
  1867.    If(JMOVE and %10)=0
  1868.       
  1869.       Add SCRL_X,Abs(SCRL_SPD)
  1870.       
  1871.       If SCRL_X>7
  1872.          
  1873.          Screen 1
  1874.          
  1875.          SCRL_X=0
  1876.          
  1877.          If SCRL_SPD<0
  1878.             Inc SCRL_POS
  1879.             Locate 42,0
  1880.             If SCRL_POS>Len(SCRL_TXT$) : Add SCRL_POS,-Len(SCRL_TXT$) : End If 
  1881.             SCRL_LTR$=Upper$(Mid$(SCRL_TXT$,SCRL_POS,1))
  1882.          End If 
  1883.          
  1884.          If SCRL_SPD>0
  1885.             Dec SCRL_POS
  1886.             Locate 1,0
  1887.             If SCRL_POS<1 : Add SCRL_POS,Len(SCRL_TXT$) : End If 
  1888.             REAL_POS=SCRL_POS-41
  1889.             If REAL_POS<1 : Add REAL_POS,Len(SCRL_TXT$) : End If 
  1890.             SCRL_LTR$=Upper$(Mid$(SCRL_TXT$,REAL_POS,1))
  1891.          End If 
  1892.          
  1893.          Print SCRL_LTR$
  1894.          
  1895.          If JMOVE and %1100
  1896.             If JMOVE and %1000 : SCRL_SPD=8 : End If 
  1897.             If JMOVE and %100 : SCRL_SPD=-8 : End If 
  1898.             Def Scroll 1,0,0 To 352,8,SCRL_SPD,0
  1899.          Else 
  1900.             SCRL_SPD=-2
  1901.             Def Scroll 1,0,0 To 352,8,SCRL_SPD,0
  1902.          End If 
  1903.          
  1904.       End If 
  1905.       
  1906.       Scroll 1
  1907.       Screen Swap 1
  1908.       Wait Vbl 
  1909.       Screen Copy Physic(1) To Logic(1)
  1910.       
  1911.    End If 
  1912.    
  1913. End Proc
  1914. Procedure SHUT_DOWN_SCROLL
  1915.    
  1916.    Screen 1
  1917.    Fade 1
  1918.    Wait 15
  1919.    Screen Close 1
  1920.    
  1921.    Screen 0
  1922.    Fade 1
  1923.    Wait 15
  1924.    Screen Close 0
  1925.    
  1926. End Proc